// 工具库
	export const util = {
		isLogin(){
			const mpuser = uni.getStorageInfoSync('mpUser')
			return mpuser.status == 1 || false
		},
		getSystem(){
			return uni.getStorageSync('SystemInfo')
		},
		setSystem(){
			uni.getSystemInfo({
				success:function(res){
					console.log(res)
					const system = res.hostName || 'WeChat'
					uni.setStorageSync('SystemInfo',system)
				}
			})
		},
		//	配置参数
		config: {
			//	接口域名
			host: 'https://ask.byyds.cn/index.php/api',
			url:"https://ask.byyds.cn/static",
			// 上传文件接口地址
			upload_file_api: "/ajax/upload",
		},
		// 弹窗
		alert(obj) {
			//	这个地方说白了就是 如果只是想提示一句话一个文本的话 就只是弹个小tips
			if (typeof obj == "string" || typeof obj == "number") {
				uni.showToast({
					'title': "" + obj + "",
					'icon': 'none',
					duration: 3000,
				});
				return;
			}
		
			//	标题
			obj.title = obj.title ? obj.title : "";
		
			//	提示内容
			obj.value = obj.value ? obj.value : "";
		
			//	跳转页面
			obj.url = obj.url ? obj.url : "";
		
			//	确定文本
			obj.confirmText = obj.confirmText ? obj.confirmText : "确定";
		
			//	取消按钮
			obj.cancel = obj.cancel === false ? false : true;
		
			//	是否关闭当前页面
			obj.close = obj.close ? obj.close : false;
		
			//	取消文本
			obj.cancelText = obj.cancelText ? obj.cancelText : "取消";
		
			//	调起
			uni.showModal({
				title: obj.title,
				content: obj.value,
				confirmText: obj.confirmText,
				showCancel: obj.cancel,
				cancelText: obj.cancelText,
				success: function(res) {
					obj.success ? obj.success(res) : function() {};
				}
			});
		
		},
		
		//	上传文件
		upload(obj) {
		
			//	使用promise写请求,一个函数两种回调
			return new Promise((resolve, reject) => {
		
				//	接口地址
				obj.url = obj.url ? obj.url : util.config.upload_file_api;
		
				//	文件
				obj.file = obj.file ? obj.file : "";
		
				//	附加数据
				obj.data = obj.data ? obj.data : {};
		
				//	设置token
				//obj.data.token = uni.getStorageSync('RHTY_token');
		
				//	打开loading效果
				uni.showLoading({
					title: "正在上传",
				})
		
				//	上传
				uni.uploadFile({
					url: util.config.host + obj.url,
					filePath: obj.file,
					name: 'file',
					formData: obj.data,
					dataType: 'json',
					success(res) {
		
						//	关闭loading效果
						uni.hideLoading()
		
						//	成功
						obj.success ? obj.success(JSON.parse(res.data)) : function() {};
		
						//	
						resolve(res);
		
					},
					fail(res) {
		
						uni.hideLoading();
		
						//	错误
						obj.fail ? obj.fail(res.data) : function() {};
		
						//	
						reject(res);
		
					}
				});
		
			})
		},
		
	//	发送网络请求
		request(params) {
		//	返回方法
			return new Promise((resolve, reject) => {
				//	请求地址
				var url = util.config.host + (params.url ? params.url : '/api/index/index');
				//	是否打开加载效果
				if (params.load) {
					uni.showLoading({
						title: params.loadTxt?params.loadTxt:"加载中",
					})
				}
				let token = uni.getStorageSync('HORIZON_token');
	
				let header ={
						'Content-Type': 'application/x-www-form-urlencoded',
					}
				if(!!token){
					header = Object.assign({
						'Content-Type': 'application/x-www-form-urlencoded',
						'ba-user-token': uni.getStorageSync('HORIZON_token')
					});
				}
				//	发起网络请求
				uni.request({
					//	请求地址
					url: url,
					//	请求方式 get/post
					method: params.type ? params.type : "POST",
					//	是否开启SSL验证
					sslVerify: false,
					//	请求参数
					data: params.data,
					//	header请求头
					header:params.header? Object.assign(header,params.header):header,
					//	数据类型
					dataType: 'json',
					//	请求成功返回
					success(res) {
						//	关闭加载效果
						if (params.load) {
							uni.hideLoading()
						}
						//	嵌套式回调
						params.success ? params.success(res.data) : function() {};
						//	链式回调
						resolve(res.data);
					},
					//	请求失败返回
					fail(res) {
						//	关闭加载效果
						if (params.load) {
							uni.hideLoading()
						}

						//	嵌套式回调
						params.fail ? params.fail(res) : function() {};

						//	链式回调
						reject(res)
					},
					complete() {
						//	嵌套式回调
						params.complete ? params.complete() : function() {};
					},
				})
			})
		},
		//	替换图片的宽度为最大宽度100% (移动端解析html富文本专用)
		imgReplace(value, th) {
		
			var _self = this;
		
			if (!th) {
				value = value.replace(/<img src="/ig, '<img src="' + util.config.host);
			}
			return value.replace(/<p([\s\w"=\/\.:;]+)((?:(style="[^"]+")))/ig, '<p')
				.replace(/<p>/ig, '<p style="font-size: 15px; line-height: 25px;">')
				.replace(/<img([\s\w"-=\/\.:;]+)((?:(height="[^"]+")))/ig, '<img$1')
				.replace(/<img([\s\w"-=\/\.:;]+)((?:(width="[^"]+")))/ig, '<img$1')
				.replace(/<img([\s\w"-=\/\.:;]+)((?:(style="[^"]+")))/ig, '<img$1')
				.replace(/<img([\s\w"-=\/\.:;]+)((?:(alt="[^"]+")))/ig, '<img$1')
				.replace(/<img([\s\w"-=\/\.:;]+)/ig, '<img style="width: 100%;" $1');
		},
		
		//	微信小程序分享转发
		wxShare(obj) {
		
			//	分享参数
			var share = {
				path: url,
			};
		
			return currentPage.$vm.share ? currentPage.$vm.share : share;
		},
		callPhone(number){
			uni.authorize({
				scope:'scope.phone',
				success:function(res){
					uni.makePhoneCall({
						phoneNumber:number,
					})
				},
				fail:function(){
					// 弹窗
					util.alert({
						value: "需要你授权电话权限",
						success(rs) {
							if (rs.confirm) {
								uni.openSetting();
							}
						}
					})
				}
			})
		},
		getLocation(fn){
			// 获取权限
			uni.authorize({
				// 地理位置
				scope: 'scope.userLocation',
				// 成功
				success(res) {
					// 选择地址
					uni.getLocation({
						type:'gcj02',
						success(rs) { //latitude,longitude
							return fn(rs) ? fn(rs) : (rs) => {};
						},
						fail(rs) {
							console.log(rs);
							// 弹窗提示
							util.alert(rs);
						}
					});
				},
				// 失败
				fail(res) {
					// 弹窗
					util.alert({
						value: "小程序需要获取您的位置",
						success(rs) {
							if (rs.confirm) {
								uni.openSetting();
							}
						}
					})
				}
			})
		},
		// 选择位置
		chooseLocation(fn) {
			// 获取权限
			uni.authorize({
				// 地理位置
				scope: 'scope.userLocation',
				// 成功
				success(res) {
					// 选择地址
					uni.chooseLocation({
						success(rs) {
							return fn(rs) ? fn(rs) : (rs) => {};
						},
						fail(rs) {
							// 弹窗提示
							util.alert('您取消了选择');
						}
					});
				},
				// 失败
				fail(res) {
					// 弹窗
					util.alert({
						value: "小程序需要获取您的位置",
						success(rs) {
							if (rs.confirm) {
								uni.openSetting();
							}
						}
					})
				}
			})
		},
		//	get参数拼接
		setParam(data) {
			let url = '';
			for (var k in data) {
				let value = data[k] !== undefined ? data[k] : '';
				url += `&${k}=${value}`
			}
			return url ? url.substring(1) : ''
		},
		
		//	get参数拼接url
		setUrl(url, data) {
			return url += (url.indexOf('?') < 0 ? '?' : '') + util.setParam(data);
		},
		isAuthorize() {
			    return new Promise((resolve, reject) => {
			      wx.authorize({
			        scope: 'scope.writePhotosAlbum'
			      }).then(() => {
			        resolve()
			      }).catch(() => {
			        wx.getSetting().then(res => {
			          if (!res.authSetting['scope.writePhotosAlbum']) {
			            wx.showModal({
			              title: '是否授权保存到相册',
			              content: '请确认授权，否则无法保存到相册',
			              success: res => {
			                if (res.confirm) {
			                  wx.openSetting()
			                }
			              }
			            })
			          }
			        })
			      })
			    })
			  },
		// 下载图片
	  downloadImg(poster) {
		// 下载文件不支持网络路径，需要先将网络路径转换为
		util.isAuthorize().then(() => {
		  wx.getImageInfo({
			src: poster,
			success: (res) => {
			  let path = res.path;
			  wx.saveImageToPhotosAlbum({
				filePath: path,
				success: (res) => {
				  util.alert('保存成功！')
				},
				fail: (res) => {
				  util.alert('保存失败')
				}
			  })
			},
			fail(res) {
			  util.alert('保存失败')
			}
		  })
		})
	  },
	}
